﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using sonicERPDALCsharp;
using sonicERPinfoCsharp;
namespace sonicERPinterfaceCsharp.Forms
{
    public partial class Form1 : Form
    {
        #region variaveis globais


        NivelusuarioDAL dal = new NivelusuarioDAL();
       
        info entidade = new info();
        int id;
        const int idusuario = 1;
        #endregion

        #region procedimentos
       
        public void limpar()
        {
            txtnivel.Text = "";
            id = 0;
            txtpesquisar.Text = "";
            getlista();
        }

        public void getlista()
        {


            entidade.nivelusuario.Nivel = Convert.ToString(txtpesquisar.Text);
            

            dtg.DataSource = dal.getdados(entidade);

        }

        public void atribuicao()
        {
            entidade.nivelusuario.Id = id;
            entidade.nivelusuario.Nivel  = Convert.ToString(txtnivel.Text);
            entidade.nivelusuario.Idusuario = idusuario;
        }

       

        #endregion

        #region eventos do form


        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            getlista();
        }

        private void dtg_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }

        private void dtg_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex == -1)
            {
                return;
            }
            id = Convert.ToInt32(this.dtg.Rows[e.RowIndex].Cells[0].Value);
            txtnivel.Text = Convert.ToString(this.dtg.Rows[e.RowIndex].Cells[2].Value);

        }

        private void btngravar_Click(object sender, EventArgs e)
        {
            try
            {

            if (string.IsNullOrEmpty(txtnivel.Text))
            {
                MessageBox.Show("Digite o Nome do Nivel de Usuario", this.Name);
                txtnivel.Focus();
                return;
            }

            if (id == 0)
            {
               
                atribuicao();
                dal.insert(entidade);
                MessageBox.Show("Cadastro Incluido com Sucesso");
                limpar();

            }
            else
            {
                atribuicao();
                dal.update(entidade);
                MessageBox.Show("Cadastro alterado com Sucesso");
                limpar();
            }
            }
            catch (Exception ex )
            {

                MessageBox.Show(ex.Message,this.Name);
            }
        }



        private void btnexcluir_Click(object sender, EventArgs e)
        {
            try
            {

            
            if (id ==0)
            {
                MessageBox.Show("Não Existem Cadastro Para Excluir");
                return;
               
            }
            atribuicao();
            dal.delete(entidade);
            MessageBox.Show("Cadastro Excluido com Sucesso");
            limpar();

            }
            catch (Exception ex)
            {

                MessageBox.Show(ex.Message,this.Name);
            }


        }
        
        private void btnlimpar_Click(object sender, EventArgs e)
        {
            limpar();
        }
       
        private void btnpesquisar_Click(object sender, EventArgs e)
        {

            getlista();
        }
       
        private void Form1_KeyPress(object sender, KeyPressEventArgs e)
        {
            Classvalidacao valida = new Classvalidacao();
            valida.Enter(e);
        }









        #endregion

    }
        
}
